Challenge #83: Pop-Tart and Beer Pairings ~Pop-Tartとビールのデータの整形~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回はPop-Tartとビールのデータの整形に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2019.2.7.63499 英語版
Challenge #83: Pop-Tart and Beer Pairings
お題
今回挑戦するお題はこちら。
Input側のデータはこちら。「Oarsman Ale with Wild Berry」以降の列にPop-Tartとビールの組み合わせとスコアが用意されています。
Output側のデータはこちら。「Beer」「Pop_Tart」「Score」列が作成されています。
解答
今回作成したワークフローはこちら。データを2つに分けて整形したのち、結合しています。
データは以下の2つに分けて整形していきます。一方は「Oarsman Ale with Wild Berry」のように、ビールとPop-Tartが列の名前になり、スコアがデータになっているもの。
もう一方は、「Own Parsing」に数字で組み合わせを示しているもの。こちらはビール、Pop-Tart、スコアがそれぞれ別の列になっています。
ビールとPop-Tartが同じになっている列の整形
ビールとPop-Tartが同じになっている列を整えていきます。
Transposeツールで縦持ちに変換します。Key columnsに「Respondent ID」を、Data columnsにビールとPop-Tartが同じになっている列を選択します。
RegExツールのParseを使用して、元の列名から「with」を取り除きビールとPop-Tartを抜き出します。
あとはSelectツールで列を調整し、Data Cleansingツールでデータをきれいにしておきます。これで以下のようなデータを準備できました。
「Own Parsing」列の整形
続いて「Own Parsing」列を整えていきます。
Transposeツールで縦持ちに変換します。Key columnsに「Respondent ID」、Data columnsに「Own Parsing」列を選択します。
RegExツールのParseを使用して、元の列で組み合わせを示していた数字を抜き出します。
もう一度RegExツールを使用します。今度はReplaceを使用して、列名に不要な「Own Parsing <数字> - 」を削除します。
Filterツールで「Pop_Tart」列のデータが空のものを取り除き、Formulaツールで「Beer」列と「Score」列のデータが空の場合はNullに変換します。これで以下のようなデータの準備ができました。
データの結合
仕上げとしてそれぞれのデータを結合します。
先ほど整形した2つのデータを、UnionツールのAuto Config by Nameで結合します。
Joinツールで元のデータと整形したデータを「Respondent ID」列で結合します。あわせて不要な列の削除と列の順番の調整を行ます。
結果を確認して完成です。
最後に
今回はChallenge #83: Pop-Tart and Beer Pairingsに挑戦しました。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。